import request from '@/utils/request'

/**
 * 获取页面列表或单个页面
 * @param {Number} id - 页面ID(可选)
 * @param {String} args - 查询参数(可选)
 */
export function Get(id, args) {
  return request({
    url: `/static_web/api/page/${id || ''}${args && ('?' + args) || ''}`,
    method: 'get'
  })
}

/**
 * 创建页面
 * @param {Object} data - 页面数据
 */
export function Post(data) {
  return request({
    url: '/static_web/api/page/',
    headers: { 'content-type': 'application/json' },
    method: 'post',
    data: data
  })
}

/**
 * 更新页面
 * @param {Number} id - 页面ID
 * @param {Object} data - 更新数据
 */
export function Put(id, data) {
  return request({
    url: `/static_web/api/page/${id}/`,
    headers: { 'content-type': 'application/json' },
    method: 'put',
    data: data
  })
}

/**
 * 删除页面
 * @param {Number} id - 页面ID
 */
export function Delete(id) {
  return request({
    url: `/static_web/api/page/${id}/`,
    method: 'delete'
  })
}

/**
 * 预览页面
 * @param {Number} id - 页面ID
 */
export function Preview(id) {
  return request({
    url: `/static_web/api/page/${id}/preview/`,
    method: 'get'
  })
}

/**
 * 发布页面
 * @param {Number} id - 页面ID
 */
export function Publish(id) {
  return request({
    url: `/static_web/api/page/${id}/publish/`,
    method: 'post'
  })
}

/**
 * 构建MD配置文件
 * @param {Number} id - 页面ID
 */
export function BuildMD(id) {
  return request({
    url: `/static_web/api/page/${id}/build_md/`,
    method: 'post'
  })
}

/**
 * 检查页面文件状态
 * @param {Number} id - 页面ID
 */
export function CheckFiles(id) {
  return request({
    url: `/static_web/api/page/${id}/check_files/`,
    method: 'get'
  })
}

/**
 * 保存Prompt版本
 * @param {Number} page_id - 页面ID
 * @param {Object} data - 版本数据 {prompt, notes}
 */
export function SavePromptVersion(page_id, data) {
  return request({
    url: `/static_web/api/page/${page_id}/prompt-version/`,
    method: 'post',
    data: data
  })
}

/**
 * 获取Prompt版本历史
 * @param {Number} page_id - 页面ID
 */
export function GetPromptVersions(page_id) {
  return request({
    url: `/static_web/api/page/${page_id}/prompt-versions/`,
    method: 'get'
  })
}
